数据类型
基础数据类型
Python 常用的基本数据类型主要有以下几种(其它编程语言可能会把单字符和字符串区分处理):
数据类型 | 描述 | 示例 |
---|---|---|
整形 int | 所有的整数 | num=1 |
浮点型 float | 所有的小数 | num=1.5 |
单字符 str | 单一字符 | character='a' |
字符串 str | 两个及以上字符 | word='hello' |
布尔 bool | True 或者 False | judge=True |
数据类型对于程序来说是至关重要的,尽管 Python 是弱语言类型,在定义变量时不用声明类型,但是类型的不同,对程序的影响也是完全不同的。
python
score = 100 # 整形 int
height = 1.85 # 浮点型 float
name = "Oldmoon" # 字符串 str
is_pass = True #布尔 bool
Python 的input()
方法默认得到的是字符串 str 类型,所以如果输入数字 1,对于程序来说,得到的是字符串的'1',而不是数学意义上的 1。
点击运行试一试!
python
print('1'+'1')
print(1+1)
可以看到,字符串的 1 相加就是两者拼接得到'11',数字的 1 相加,才能得到运算的结果 2.
所以在input()
输入时,如果想把输入的值当成数字来使用,就必须做一下类型转换。
数据类型
py
a = '1'
b = '2'
print(a + b)
程序输出的是?
[0/1]
数据类型
py
a = input()
b = input()
print(a + b)
如果用户输入1
和2
,程序输出的是?
[0/1]
类型转换
转换方法 | 示例 |
---|---|
int | int('4') #这会把字符串'4'变成数字 4. |
float | float('4.5') #这会把字符串'4.5'变成浮点数 4.5. |
str | str(4) #这会把数字 4 变成字符串'4'. |
输入 3 行,每行都是 2,点击运行试一试!
python
string = input()
num = int(input())
real = float(input())
print(string+string)
print(num+num)
print(real+real)
数字和字符串不能相加
py
a = '1'
c = 3
print(a + c) #a和c不能相加,会报错
py
a = '1'
b = '2'
c = 3
d = 4.0
print(a + b) #12
print(c + d) #7.0 整数和浮点数相加后是浮点数
数据类型
py
num1 = '10'
num2 = 10
print(int(num1) + num2, num1 + str(num2))
程序输出的是?
[0/1]
数据类型
py
num1 = input()
num2 = int(input())
print(int(num1) + num2, num1 + str(num2))
如果用户输入的是20
和20
,程序输出的是?
[0/1]
整数转浮点数
浮点数转整数
批量类型转换
之前在处理单行输入多个变量时,我们可以使用input().split()
进行切割,但是文本类型仍然是字符串类型。
python
num1,num2 = input().split() #输入1 2
print(num1 + num2) #输出12
如果想要把num1
和num2
转换为整数类型,可以使用 int 函数。
python
num1,num2 = input().split() #输入1 2
num1 = int(num1)
num2 = int(num2)
print(num1 + num2) #输出3
但是,每个变量都做一次类型转换也有点麻烦,这时可以使用map
方法实现批量类型转换
python
num1,num2 = map(int, input().split()) #输入1 2
print(num1 + num2) #输出3
这里 map 的意思是:将
input().split()
序列中的每一个元素,都进行int
转换,从而得到新的值。
数据类型
py
num1,num2 = input().split()
print(num1 + num2)
如果用户输入的是1 2
,程序输出的是?
[0/1]
数据类型
py
num1,num2 = map(int, input().split())
print(num1 + num2)
如果用户输入的是1 2
,程序输出的是?
[0/1]